home *** CD-ROM | disk | FTP | other *** search
- The QuickBasic Wizard's Library
-
- QBWiz Copyright (c) 1990-1992 Thomas G. Hanlin III
-
-
-
- This constitutes technical documentation for the QBWiz
- library. It includes a reference of some useful QuickBasic
- internal variables.
-
- Information on the internal structure of QuickBasic and BASCOM
- was obtained by my own work and is not by any means guaranteed
- by Microsoft. Microsoft can and will change the internals at
- any time it suits them.
-
- However, this information is correct, to the best of my
- knowledge, for QuickBasic 4.5. It should also hold true as far
- back as QuickBasic 4.0 and for the BASCOM 6.0 compiler. Since
- these are all "old" versions, it should be safe to assume that
- they will not be changed. QBWiz may or may not work as
- expected with newer BASIC compilers.
-
- Note that the /ML option must be used when assembling the .ASM
- sources. This is not usually needed with BASIC, which expects
- its external names to be converted to uppercase. Here,
- however, we're accessing BASIC internal names, which don't
- follow the same rules.
-
- On to the gory details!
-
- Some QuickBasic Internal Variables
-
-
-
- __acmdln dword ptr original command line
- __osmajor byte DOS version (major part)
- __osminor byte DOS version (minor part)
- b$ActPage byte active display page
- b$Adapter byte display adapter type
- b$BackColor byte default background color
- b$BiosMode byte display mode (BIOS numbering)
- b$BorderColor byte current border color
- b$Burst byte whether color burst is on (0 no)
- b$FBColors byte default color/attribute
- b$ForeColor byte default foreground color
- b$IOFLAG byte redirection state (bit 0 in, 1 out)
- b$LPTFDB +4 byte width of LPRINT device
- b$ScreenMode byte display mode (BASIC numbering)
- b$ScrHeight byte height of the screen (rows)
- b$ScrWidth byte width of the screen (columns)
- b$seg word segment defined by DEF SEG
- b$UsrCsrOn byte whether the cursor shows (0 no)
- b$UsrCsrStart byte cursor starting scan line
- b$UsrCsrStop byte cursor ending scan line
- b$VisPage byte visible display page
- b$WDOBOTTOM byte bottom row of VIEW PRINT window
- b$WDOTOP byte top row of VIEW PRINT window
-
- Access Routines
-
-
-
- Routine name Source file Internal variable used
-
- ACTPAGE PAGE.ASM b$ActPage
- BACKCOLOR BACK.ASM b$BackColor
- BORDERCOLOR BORDER.ASM b$BorderColor
- COLORBURST COLORB.ASM b$Burst
- COMMANDLINE COMMANDL.ASM __acmdln
- CRT CRT.ASM b$Adapter
- CURSORSTART CSTART.ASM b$UsrCsrStart
- CURSORSTOP CSTOP.ASM b$UsrCsrStop
- DEFSEG DEFSEG.ASM b$seg
- DOSVERSION DOSVERS.ASM __osmajor, __osminor
- ERRLEVEL ERRLEVEL.ASM B$terminate (label)
- FORECOLOR FORE.ASM b$ForeColor
- PRINTERWIDTH PRTWIDTH.ASM b$LPTFDB
- SCREENHEIGHT SHEIGHT.ASM b$ScrHeight
- SCREENMODE SMODE.ASM b$ScreenMode
- SCREENWIDTH SWIDTH.ASM b$ScrWidth
- SHOWCURSOR SHOWCUR.ASM b$UsrCsrOn
- VIEWBOTTOM VIEW.ASM b$WDOBOTTOM
- VIEWTOP VIEW.ASM b$WDOTOP
- VISPAGE PAGE.ASM b$VisPage
-
-